package com.gitee.sop.layui.adminserver.module.content.pay.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gitee.sop.layui.adminserver.module.content.pay.api.param.PayConfigParam;
import com.gitee.sop.layui.adminserver.module.content.pay.entity.PayConfig;

import java.util.List;
import java.util.Map;

/**
 * 支付配置信息 表 服务类
 *
 * @author Admin
 */
public interface PayConfigService extends IService<PayConfig> {

    /**
     * 获取所有的支付配置信息
     *
     * @return
     */
    List<Map<String, Object>> getAllPayConfigTemplate();


    /**
     * 获取指定的支付模板信息
     *
     * @param code 编码
     * @return
     */
    Map<String, Object> getOnePayConfigTemplate(String code);

    /**
     * 分页获取支付配置列表
     *
     * @param param 查询参数
     * @return
     */
    Page<PayConfig> queryPage(PayConfigParam param);

    /**
     * 添加支付配置
     *
     * @param payConfig 配置参数
     */
    void addPayConfig(PayConfig payConfig);

    /**
     * 修改
     * 保证同一种支付方式只启用一个
     *
     * @param payConfig 配置参数
     */
    void updatePayConfig(PayConfig payConfig);

}
